package com.medusa.aps.business.modules.security.mp.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.medusa.aps.business.model.pagination.Page;
import com.medusa.aps.business.modules.security.model.input.UserRoleQueryPara;
import com.medusa.aps.business.modules.security.mp.entity.Role;
import com.medusa.aps.business.modules.security.mp.entity.UserRole;

import java.util.List;

/**
 * @author: xianhui.yu
 **/
public interface IUserRoleService extends IService<UserRole> {

    /**
     * 系统管理 - 用户角色关联表 列表分页
     *
     * @param page
     * @param filter
     * @return
     */
    void listPage(Page<UserRole> page, UserRoleQueryPara filter);

    /**
     * 保存系统管理 - 用户角色关联表
     *
     * @param input
     */
    Integer insert(UserRole input);

    /**
     * 系统管理 - 用户角色关联表 列表
     *
     * @param filter
     * @return
     */
    List<UserRole> list(UserRoleQueryPara filter);

    /**
     * 保存角色相关联用户
     *
     * @param filter:
     * @return: void
     */
    void saveUserRole(UserRoleQueryPara filter);


    /**
     * 根据用户Id查询关联角色
     *
     * @param userId:
     */
    List<Role> selectRoleByUserId(Long userId);

}
